<?php

/*
 * 适配器模式
 * 可以将截然不同的函数接口封装成统一的API
 * 例如PHP的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,类似的场景还有cache适配器,将memcache,redis,file,apc等不同的缓存函数统一成一致 
 * 适配器,可以想象成,现有一个圆形的插孔,还有一个方形,一个三角形和一个椭圆形的插头,这三个插头都不能插进圆孔中,这时就需要适配器来转换
 * 可以将适配器比喻成转换头,一头插圆孔,另外有三个插孔(接口),可以分别插入方形,三角形和椭圆形的插头(三个形状不同的插头就是接口的实现方法,就是接口的多态)
 * 应用场景：老代码接口不适应新的接口需求，或者代码很多很乱不便于继续修改，或者使用第三方类库。
 * 
 */

namespace IMooc;

interface IDatabase {

    public function connect($host, $user, $password, $dbname);

    public function query($sql);

    public function close();
}
